package service;

import java.util.ArrayList;
import java.util.List;

import javax.ejb.EJB;
import javax.ejb.Local;
import javax.ejb.Stateless;

import dao.LieuDao;
import dto.LieuVO;
import entity.Lieu;

// @Stateless pour EJB Session sans état
// @Local pour appel direct local possible (depuis même JVM)
// @Remote pour appel distant possible (via RMI)

// éviter d'intercaler des commentaires

//@Remote
@Stateless
@Local
public class ServiceLieuDaoBean implements ServiceLieuDao{

	private LieuDao lieuDao;

	@EJB(beanName="LieuDaoJpa")
	public void setLieuDao(LieuDao lieuDao) {
		System.out.println("setLieuDao effectué dans ServiceLieuDaoBean");
		this.lieuDao = lieuDao;
	}

	public LieuDao getLieuDao() {
		return lieuDao;
	}
	
	public ServiceLieuDaoBean(){
		super();
	}

	@Override
	public List<LieuVO> getAllLieux() {
		List<Lieu> listeLieux = lieuDao.getAllLieux();
		List<LieuVO> result = new ArrayList<LieuVO>();
		for (Lieu lieu : listeLieux)
			result.add(new LieuVO(lieu.getLieu()));	
		return result;
	}

	@Override
	public String getAuteur() {
		return "Régis";
	}

}
